package com.tom.demo.common.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
* 
* @TableName sys_dept
*/
@Data
public class SysDept implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
    * 部门id
    */
    @NotNull(message="[部门id]不能为空")
    @ApiModelProperty("部门id")
    private String deptId;
    /**
    * 父级id
    */
    @NotNull(message="[父级id]不能为空")
    @ApiModelProperty("父级id")
    private String parentId;
    /**
    * 部门名称
    */
    @NotBlank(message="[部门名称]不能为空")
    @Size(max= 30,message="编码长度不能超过30")
    @ApiModelProperty("部门名称")
    @Length(max= 30,message="编码长度不能超过30")
    private String deptName;
    /**
     * 部门编码
     */
    @NotBlank(message="[部门编码]不能为空")
    @Size(max= 10,message="编码长度不能超过10")
    @ApiModelProperty("部门编码")
    @Length(max= 10,message="编码长度不能超过10")
    private String deptCode;
    /**
    * 显示顺序
    */
    @ApiModelProperty("显示顺序")
    private Integer orderNum;
    /**
    * 负责人
    */
    @Size(max= 30,message="编码长度不能超过30")
    @ApiModelProperty("负责人")
    @Length(max= 30,message="编码长度不能超过30")
    private String leader;
    /**
    * 联系电话
    */
    @Size(max= 11,message="编码长度不能超过11")
    @ApiModelProperty("联系电话")
    @Length(max= 11,message="编码长度不能超过11")
    private String phone;
    /**
    * 邮箱
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("邮箱")
    @Length(max= 50,message="编码长度不能超过50")
    private String email;
    /**
    * 部门状态（false正常    true停用）
    */
    @NotNull(message="[部门状态（false正常    true停用）]不能为空")
    @ApiModelProperty("部门状态（false正常    true停用）")
    private Boolean status;
    /**
    * 创建者
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("创建者")
    @Length(max= 50,message="编码长度不能超过50")
    private String createBy;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    private Date createTime;
    /**
    * 更新者
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("更新者")
    @Length(max= 50,message="编码长度不能超过50")
    private String updateBy;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    private Date updateTime;

}
